<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
	<meta name="theme-color" content="#33474d">
	<title>find 命令的参数详解 | 失落的乐章</title>
	<link rel="stylesheet" href="/css/style.css" />
	
      <link rel="alternate" href="/atom.xml" title="失落的乐章" type="application/atom+xml">
    
</head>

<body>

	<header class="header">
		<nav class="header__nav">
			
				<a href="/archives" class="header__link">Archive</a>
			
				<a href="/tags" class="header__link">Tags</a>
			
				<a href="/atom.xml" class="header__link">RSS</a>
			
		</nav>
		<h1 class="header__title"><a href="/">失落的乐章</a></h1>
		<h2 class="header__subtitle">技术面前，永远都是学生。</h2>
	</header>

	<main>
		<article>
	
		<h1>find 命令的参数详解</h1>
	
	<div class="article__infos">
		<span class="article__date">2017-10-12</span><br />
		
		
			<span class="article__tags">
			  	<a class="article__tag-link" href="/tags/Linux命令/">Linux命令</a>
			</span>
		
	</div>

	

	
		<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;find 一些常用参数的一些常用实例和一些具体用法和注意事项。</p>
<h2 id="1-使用-name-选项"><a href="#1-使用-name-选项" class="headerlink" title="1.使用 name 选项"></a>1.使用 name 选项</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;文件名选项是 find 命令最常用的选项，要么单独使用该选项，要么和其他选项一起使用。可以使用某种文件名模式来匹配文件，记住要用引号将文件名模式引起来。不管当前路径是什么，如果想要在自己的根目录 $HOME 中查找文件名符合 *.log 的文件，使用 ~ 作为 ‘pathname’ 参数，波浪号 ~ 呆了了 $HOME 目录。</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find ~ -name <span class="string">"*.log"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;想要在当前目录及子目录中查找所有的 ‘*.log’ 文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -name <span class="string">"*.log"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;想要在当前目录及子目录中查找文件名以一个大写字母开头的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -name <span class="string">"[A-Z]*"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;想要在 /etc 目录中查找文件名以 host 开头的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /etc -name <span class="string">"host*"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;想要查找 $HOME 目录中的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find ~ -name <span class="string">"*"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;或</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;要想让系统高负荷运行，就从根目录开始查找所有的文件</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find / -name <span class="string">"*"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果想在当前目录查找文件名以一个个小写字母开头，最后是4到9加上 .log 结束的文件：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -name <span class="string">"[a-z]*[4-9].log"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">总计 316</div><div class="line">-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log</div><div class="line">drwxr-xr-x 6 root root   4096 10-27 01:58 scf</div><div class="line">drwxrwxr-x 2 root root   4096 11-13 06:08 test3</div><div class="line">drwxrwxr-x 2 root root   4096 11-13 05:50 test4</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># find . -name "[a-z]*[4-9].log" -print</span></div><div class="line">./log2014.log</div><div class="line">./log2015.log</div><div class="line">./test4/log2014.log</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h2 id="2-用-perm-选项"><a href="#2-用-perm-选项" class="headerlink" title="2.用 perm 选项"></a>2.用 perm 选项</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;按照文件权限模式用 -perm 选项，按文件权限模式来查找文件的话。最好使用八进制的权限表示法。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如在当前目录下查找文件权限位为755的文件，即文件属主可以读、写、执行，其他用户可以读、执行的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># find . -perm 755 -print</span></div><div class="line">.</div><div class="line">./scf</div><div class="line">./scf/lib</div><div class="line">./scf/service</div><div class="line">./scf/service/deploy</div><div class="line">./scf/service/deploy/product</div><div class="line">./scf/service/deploy/info</div><div class="line">./scf/doc</div><div class="line">./scf/bin</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;还有一种表达方法：在八进制数字前面要加一个横杠 - ，表示都匹配，如 -007 就相当于 777， -005 相当于 555。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -perm -005</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">总计 316</div><div class="line">-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log</div><div class="line">drwxr-xr-x 6 root root   4096 10-27 01:58 scf</div><div class="line">drwxrwxr-x 2 root root   4096 11-13 06:08 test3</div><div class="line">drwxrwxr-x 2 root root   4096 11-13 05:50 test4</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># find . -perm -005</span></div><div class="line">.</div><div class="line">./test4</div><div class="line">./scf</div><div class="line">./scf/lib</div><div class="line">./scf/service</div><div class="line">./scf/service/deploy</div><div class="line">./scf/service/deploy/product</div><div class="line">./scf/service/deploy/info</div><div class="line">./scf/doc</div><div class="line">./scf/bin</div><div class="line">./test3</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h2 id="3-忽略某个目录"><a href="#3-忽略某个目录" class="headerlink" title="3.忽略某个目录"></a>3.忽略某个目录</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果在查找文件时希望忽略某个目录，因为知道那个目录中没有索要查找的文件，那么可以使用 -prune 选项来指出需要忽略的目录。在使用 -prune 选项时要当心，因为如果同时使用了 -depth 选项，那么 -prune 选项就会被 find 命令忽略。如果希望在 test 目录下查找文件，但不希望在 test/test3 目录下查找，可以用：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find <span class="built_in">test</span> -path “<span class="built_in">test</span>/test3” -prune -o -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div></pre></td><td class="code"><pre><div class="line">[root@localhost soft]<span class="comment"># find test -path "test/test3" -prune -o -print</span></div><div class="line"><span class="built_in">test</span></div><div class="line"><span class="built_in">test</span>/log2014.log</div><div class="line"><span class="built_in">test</span>/log2015.log</div><div class="line"><span class="built_in">test</span>/test4</div><div class="line"><span class="built_in">test</span>/test4/log2014.log</div><div class="line"><span class="built_in">test</span>/test4/log2013.log</div><div class="line"><span class="built_in">test</span>/test4/log2012.log</div><div class="line"><span class="built_in">test</span>/scf</div><div class="line"><span class="built_in">test</span>/scf/lib</div><div class="line"><span class="built_in">test</span>/scf/service</div><div class="line"><span class="built_in">test</span>/scf/service/deploy</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/product</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/info</div><div class="line"><span class="built_in">test</span>/scf/doc</div><div class="line"><span class="built_in">test</span>/scf/bin</div><div class="line"><span class="built_in">test</span>/log2013.log</div><div class="line"><span class="built_in">test</span>/log2012.log</div><div class="line">[root@localhost soft]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h2 id="4-使用-find-查找文件的时候怎么不开某个文件目录"><a href="#4-使用-find-查找文件的时候怎么不开某个文件目录" class="headerlink" title="4.使用 find 查找文件的时候怎么不开某个文件目录"></a>4.使用 find 查找文件的时候怎么不开某个文件目录</h2><h3 id="实例1：在-test-目录下查找不再-test4-子目录之内的所有文件"><a href="#实例1：在-test-目录下查找不再-test4-子目录之内的所有文件" class="headerlink" title="实例1：在 test 目录下查找不再 test4 子目录之内的所有文件"></a>实例1：在 test 目录下查找不再 test4 子目录之内的所有文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find <span class="built_in">test</span> -path <span class="string">"test/test4"</span> -prune -o -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div><div class="line">23</div><div class="line">24</div><div class="line">25</div><div class="line">26</div><div class="line">27</div><div class="line">28</div><div class="line">29</div><div class="line">30</div><div class="line">31</div><div class="line">32</div><div class="line">33</div><div class="line">34</div><div class="line">35</div></pre></td><td class="code"><pre><div class="line">[root@localhost soft]<span class="comment"># find test</span></div><div class="line"><span class="built_in">test</span></div><div class="line"><span class="built_in">test</span>/log2014.log</div><div class="line"><span class="built_in">test</span>/log2015.log</div><div class="line"><span class="built_in">test</span>/test4</div><div class="line"><span class="built_in">test</span>/test4/log2014.log</div><div class="line"><span class="built_in">test</span>/test4/log2013.log</div><div class="line"><span class="built_in">test</span>/test4/log2012.log</div><div class="line"><span class="built_in">test</span>/scf</div><div class="line"><span class="built_in">test</span>/scf/lib</div><div class="line"><span class="built_in">test</span>/scf/service</div><div class="line"><span class="built_in">test</span>/scf/service/deploy</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/product</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/info</div><div class="line"><span class="built_in">test</span>/scf/doc</div><div class="line"><span class="built_in">test</span>/scf/bin</div><div class="line"><span class="built_in">test</span>/log2013.log</div><div class="line"><span class="built_in">test</span>/log2012.log</div><div class="line"><span class="built_in">test</span>/test3</div><div class="line">[root@localhost soft]<span class="comment"># find test -path "test/test4" -prune -o -print</span></div><div class="line"><span class="built_in">test</span></div><div class="line"><span class="built_in">test</span>/log2014.log</div><div class="line"><span class="built_in">test</span>/log2015.log</div><div class="line"><span class="built_in">test</span>/scf</div><div class="line"><span class="built_in">test</span>/scf/lib</div><div class="line"><span class="built_in">test</span>/scf/service</div><div class="line"><span class="built_in">test</span>/scf/service/deploy</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/product</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/info</div><div class="line"><span class="built_in">test</span>/scf/doc</div><div class="line"><span class="built_in">test</span>/scf/bin</div><div class="line"><span class="built_in">test</span>/log2013.log</div><div class="line"><span class="built_in">test</span>/log2012.log</div><div class="line"><span class="built_in">test</span>/test3</div><div class="line">[root@localhost soft]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find [-path ..] [expression]</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在路径列表的后面的是表达式<br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;-path “test” -prune -o -print 是 -path “test” -a -prune -o -print 的简写表达式按顺序求值， -a 和 -o 都是短路求值，与 shell 的 &amp;&amp; 和 || 类似。<br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果 -path “test” 为真，则求值 -prune ，-prune 返回真，与逻辑表达式为真；否则不求值 -prune ，与逻辑表达式为假。如果 -path “test” -a -prune 为假，则求值 -print ，-print 返回真，或逻辑表达式为真；否则不求值 -print ，或逻辑表达式为真。<br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;这个表达式组合特例可以用伪码写为：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div></pre></td><td class="code"><pre><div class="line"><span class="keyword">if</span> -path <span class="string">"test"</span></div><div class="line"><span class="keyword">then</span></div><div class="line">    -prune</div><div class="line"><span class="keyword">else</span></div><div class="line">    -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h2 id="实例2：避开多个文件夹"><a href="#实例2：避开多个文件夹" class="headerlink" title="实例2：避开多个文件夹"></a>实例2：避开多个文件夹</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find <span class="built_in">test</span> \( -path <span class="built_in">test</span>/test4 -o -path <span class="built_in">test</span>/test3 \) -prune -o -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div></pre></td><td class="code"><pre><div class="line">[root@localhost soft]<span class="comment"># find test \( -path test/test4 -o -path test/test3 \) -prune -o -print</span></div><div class="line"><span class="built_in">test</span></div><div class="line"><span class="built_in">test</span>/log2014.log</div><div class="line"><span class="built_in">test</span>/log2015.log</div><div class="line"><span class="built_in">test</span>/scf</div><div class="line"><span class="built_in">test</span>/scf/lib</div><div class="line"><span class="built_in">test</span>/scf/service</div><div class="line"><span class="built_in">test</span>/scf/service/deploy</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/product</div><div class="line"><span class="built_in">test</span>/scf/service/deploy/info</div><div class="line"><span class="built_in">test</span>/scf/doc</div><div class="line"><span class="built_in">test</span>/scf/bin</div><div class="line"><span class="built_in">test</span>/log2013.log</div><div class="line"><span class="built_in">test</span>/log2012.log</div><div class="line">[root@localhost soft]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong><br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;圆括号表示表达式的结合。 \ 表示引用，即指示 shell 不对后面的字符作特殊解释，而留给 find 命令去解释其意义。</p>
<h3 id="实例3：查找某一确定文件，-name-等选项加在-o-之后"><a href="#实例3：查找某一确定文件，-name-等选项加在-o-之后" class="headerlink" title="实例3：查找某一确定文件，-name 等选项加在 -o 之后"></a>实例3：查找某一确定文件，-name 等选项加在 -o 之后</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find <span class="built_in">test</span> \(-path <span class="built_in">test</span>/test4 -o -path <span class="built_in">test</span>/test3 \) -prune -o -name <span class="string">"*.log"</span> -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line">[root@localhost soft]<span class="comment"># find test \( -path test/test4 -o -path test/test3 \) -prune -o -name "*.log" -print</span></div><div class="line"><span class="built_in">test</span>/log2014.log</div><div class="line"><span class="built_in">test</span>/log2015.log</div><div class="line"><span class="built_in">test</span>/log2013.log</div><div class="line"><span class="built_in">test</span>/log2012.log</div><div class="line">[root@localhost soft]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h2 id="5-使用-user-和-nouser-选项"><a href="#5-使用-user-和-nouser-选项" class="headerlink" title="5.使用 user 和 nouser 选项"></a>5.使用 user 和 nouser 选项</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;按文件属主查找文件：</p>
<h3 id="实例1：在-HOME-目录中查找文件属主为-peida-的文件"><a href="#实例1：在-HOME-目录中查找文件属主为-peida-的文件" class="headerlink" title="实例1：在 $HOME 目录中查找文件属主为 peida 的文件"></a>实例1：在 $HOME 目录中查找文件属主为 peida 的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find ~ -user peida -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h3 id="实例2：在-etc-目录下查找文件属主为-peida-的文件"><a href="#实例2：在-etc-目录下查找文件属主为-peida-的文件" class="headerlink" title="实例2：在 /etc 目录下查找文件属主为 peida 的文件"></a>实例2：在 /etc 目录下查找文件属主为 peida 的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /etc -user peida -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h3 id="实例3：为了查找属主账户已经被删除的文件，可以使用-nouser-选项。在-home-目录下查找所有的这类文件"><a href="#实例3：为了查找属主账户已经被删除的文件，可以使用-nouser-选项。在-home-目录下查找所有的这类文件" class="headerlink" title="实例3：为了查找属主账户已经被删除的文件，可以使用 -nouser 选项。在 /home 目录下查找所有的这类文件"></a>实例3：为了查找属主账户已经被删除的文件，可以使用 -nouser 选项。在 /home 目录下查找所有的这类文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /home -nouser -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong><br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;这样就能够找到那些属主在 /etc/passwd 文件中没有有效账户的文件。在使用 -nouser 选项时，不必给出用户名；find 命令能够完成相应的工作。</p>
<h2 id="6-使用-group-和-nogroup-选项"><a href="#6-使用-group-和-nogroup-选项" class="headerlink" title="6.使用 group 和 nogroup 选项"></a>6.使用 group 和 nogroup 选项</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;就像 user 和 nouser 选项一样，针对文件所属于的用户组，find 命令也具有同样的选项，为了在 /apps 目录下查找属于 gem 用户组的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /apps -group gem -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;要查找没有有效所属用户组的所有文件，可以使用 nogroup 选项。下面的 find 命令从文件系统的根目录处查找这样的文件：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find / -nogroup -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h2 id="7-按照更改时间或访问时间等查找文件"><a href="#7-按照更改时间或访问时间等查找文件" class="headerlink" title="7.按照更改时间或访问时间等查找文件"></a>7.按照更改时间或访问时间等查找文件</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果希望按照更改时间来查找文件，可以使用 mtime 、atime 或 ctime 选项。如果系统突然没有可用空间了，很有可能某一个文件的长度在期间增长迅速，这是就可以用 mtime 选项来查找这样的文件。<br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;用减号 - 来限定更改时间在距今 n 日之内的文件，而用加好 + 来限定更改时间在距今 n 日以前的文件。<br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;希望在系统根目录下查找更改时间在5日以内的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find / -mtime -5 <span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;为了在 /var/adm 目录下查找更改时间在3日以前的文件，可以用：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /var/adm -mtime +3 -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h2 id="8-查找比某个文件新或旧的文件"><a href="#8-查找比某个文件新或旧的文件" class="headerlink" title="8.查找比某个文件新或旧的文件"></a>8.查找比某个文件新或旧的文件</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件可以使用 -newer 选项。<br>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;它的一般形式为：</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">newest_file_name ! oldest_file_name</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;其中，！ 是逻辑非符号。</p>
<h3 id="实例1：-查找更改时间比文件-log2012-log-新但比文件-log2017-log-旧的文件"><a href="#实例1：-查找更改时间比文件-log2012-log-新但比文件-log2017-log-旧的文件" class="headerlink" title="实例1： 查找更改时间比文件 log2012.log 新但比文件 log2017.log 旧的文件"></a>实例1： 查找更改时间比文件 <code>log2012.log</code> 新但比文件 <code>log2017.log</code> 旧的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find -newer log2012.log ! -newer log2017.log</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># ll</span></div><div class="line">总计 316</div><div class="line">-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log</div><div class="line">-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log</div><div class="line">-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log</div><div class="line">-rw-r--r-- 1 root root      0 11-16 14:41 log2016.log</div><div class="line">-rw-r--r-- 1 root root      0 11-16 14:43 log2017.log</div><div class="line">drwxr-xr-x 6 root root   4096 10-27 01:58 scf</div><div class="line">drwxrwxr-x 2 root root   4096 11-13 06:08 test3</div><div class="line">drwxrwxr-x 2 root root   4096 11-13 05:50 test4</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># find -newer log2012.log ! -newer log2017.log</span></div><div class="line">.</div><div class="line">./log2015.log</div><div class="line">./log2017.log</div><div class="line">./log2016.log</div><div class="line">./test3</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h3 id="实例2：查找更改时间比-log2012-log-文件新的文件"><a href="#实例2：查找更改时间比-log2012-log-文件新的文件" class="headerlink" title="实例2：查找更改时间比  log2012.log 文件新的文件"></a>实例2：查找更改时间比  <code>log2012.log</code> 文件新的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -newer log2012.log -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div></pre></td><td class="code"><pre><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment"># find -newer log2012.log</span></div><div class="line">.</div><div class="line">./log2015.log</div><div class="line">./log2017.log</div><div class="line">./log2016.log</div><div class="line">./test3</div><div class="line">[root@localhost <span class="built_in">test</span>]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h2 id="9-使用-type-选项"><a href="#9-使用-type-选项" class="headerlink" title="9.使用 type 选项"></a>9.使用 type 选项</h2><h3 id="实例1：在-etc-目录下查找所有的目录"><a href="#实例1：在-etc-目录下查找所有的目录" class="headerlink" title="实例1：在 /etc 目录下查找所有的目录"></a>实例1：在 /etc 目录下查找所有的目录</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /etc -<span class="built_in">type</span> d -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h3 id="实例2：在当前目录下查找除目录意外的所有类型的文件"><a href="#实例2：在当前目录下查找除目录意外的所有类型的文件" class="headerlink" title="实例2：在当前目录下查找除目录意外的所有类型的文件"></a>实例2：在当前目录下查找除目录意外的所有类型的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . ! -<span class="built_in">type</span> d -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h3 id="实例3：在-etc-目录下查找所有-负担好链接文件"><a href="#实例3：在-etc-目录下查找所有-负担好链接文件" class="headerlink" title="实例3：在 /etc 目录下查找所有  负担好链接文件"></a>实例3：在 /etc 目录下查找所有  负担好链接文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /etc/-<span class="built_in">type</span> l -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h2 id="使用-size-选项"><a href="#使用-size-选项" class="headerlink" title="使用 size 选项"></a>使用 size 选项</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;可以按照文件长度来查找文件，这里所指的文件长度既可以用块（block）来计量，也可以用字节来计量。以字节计量文件长度的表达形式为N c；以块计量文件长度只用数字表示即可。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在按照文件长度查找文件时，一般使用这种以字节表示的文件长度，在查看文件系统的大小，因为这时使用块来计量更容易转换。</p>
<h3 id="实例1：在当前目录下查找文件长度大于1M字节的文件"><a href="#实例1：在当前目录下查找文件长度大于1M字节的文件" class="headerlink" title="实例1：在当前目录下查找文件长度大于1M字节的文件"></a>实例1：在当前目录下查找文件长度大于1M字节的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -size +1000000c -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h3 id="实例2：在-home-apache-目录下查找文件长度恰好为100字节的文件"><a href="#实例2：在-home-apache-目录下查找文件长度恰好为100字节的文件" class="headerlink" title="实例2：在/home/apache 目录下查找文件长度恰好为100字节的文件"></a>实例2：在/home/apache 目录下查找文件长度恰好为100字节的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find /home/apache -size 100c -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h3 id="实例3：在当前目录下查找长度超过10块的文件，（一块等于512字节）"><a href="#实例3：在当前目录下查找长度超过10块的文件，（一块等于512字节）" class="headerlink" title="实例3：在当前目录下查找长度超过10块的文件，（一块等于512字节）"></a>实例3：在当前目录下查找长度超过10块的文件，（一块等于512字节）</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -size +10 -<span class="built_in">print</span></div></pre></td></tr></table></figure>
<h2 id="使用-depth-选项"><a href="#使用-depth-选项" class="headerlink" title="使用 depth 选项"></a>使用 depth 选项</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在使用 find 命令时，可能希望先匹配所有的文件，再在子目录中查找。使用 depth 选项就可以使 find 命令这样做。这样做的一个原因就是，当在使用 find 命令想磁带上备份文件系统时，希望首先备份所有的 文件，其次再备份子目录中的文件。</p>
<h3 id="实例1：find-命令从文件系统的根目录开始，查找一个名为-CON-FILE-的文件"><a href="#实例1：find-命令从文件系统的根目录开始，查找一个名为-CON-FILE-的文件" class="headerlink" title="实例1：find 命令从文件系统的根目录开始，查找一个名为 CON.FILE 的文件"></a>实例1：find 命令从文件系统的根目录开始，查找一个名为 CON.FILE 的文件</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">find . -name <span class="string">"*.XC"</span> -mount -<span class="built_in">print</span></div></pre></td></tr></table></figure>

	

	
		<span class="different-posts"><a href="/2017/10/12/2. Linux 命令/22. find 命令的参数详解/" onclick="window.history.go(-1); return false;">⬅️ Go back </a></span>

	

</article>

	</main>

	<footer class="footer">
	<div class="footer-content">
		
	      <div class="footer__element">
	<p>Hi there, <br />welcome to my Blog glad you found it. Have a look around, will you?</p>
</div>

	    
	      <div class="footer__element">
	<h5>Check out</h5>
	<ul class="footer-links">
		<li class="footer-links__link"><a href="/archives">Archive</a></li>
		
		  <li class="footer-links__link"><a href="/atom.xml">RSS</a></li>
	    
		<li class="footer-links__link"><a href="/about">about page</a></li>
		<li class="footer-links__link"><a href="/tags">Tags</a></li>
		<li class="footer-links__link"><a href="/categories">Categories</a></li>
	</ul>
</div>

	    

		<div class="footer-credit">
			<span>© 2017 失落的乐章 | Powered by <a href="https://hexo.io/">Hexo</a> | Theme <a href="https://github.com/HoverBaum/meilidu-hexo">MeiliDu</a></span>
		</div>

	</div>


</footer>



</body>

</html>
